home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 011 / move.asm < prev    next >
Assembly Source File  |  1985-06-03  |  2KB  |  75 lines

  1.  
  2.  
  3.         PAGE    66,132 
  4.         TITLE   "REASSEMBLED FILE MOVE COMMAND - REWORKED FOR RESIDENT" 
  5. ;INITIAL VALUES :       CS:IP   0000:0100 
  6. ;                       SS:SP   0000:FFFF 
  7. FMOVE   SEGMENT 
  8.         ASSUME DS:FMOVE, CS:FMOVE 
  9.         ORG     0100H 
  10. MOVER   PROC    NEAR 
  11.         MOV     CL,DS:80H 
  12.         MOV     CH,0 
  13.         CMP     BYTE PTR DS:80H,0 
  14.         JZ      L0165 
  15.         MOV     DI,81H 
  16.         MOV     AL,20H  ;' ' 
  17.         REPZ    SCASB 
  18.         JCXZ    L0165 
  19.         MOV     DX,DI 
  20.         DEC     DX 
  21.         REPNZ   SCASB 
  22.         JCXZ    L016D 
  23.         MOV     BX,DI 
  24.         DEC     BX 
  25.         REPZ    SCASB 
  26.         JCXZ    L016D 
  27.         MOV     BYTE PTR [BX],0 
  28.         PUSH    DI 
  29.         REPNZ   SCASB 
  30.         MOV     BYTE PTR [DI],0 
  31.         POP     DI 
  32.         DEC     DI 
  33.         MOV     AH,56H  ;'V' 
  34.         INT     21H 
  35.         JB      CHECRETURN 
  36.         RET 
  37. CHECRETURN: 
  38.         CMP     AX,3 
  39.         JNZ     L0143 
  40.         MOV     DX,OFFSET L01CB 
  41.         MOV     AH,9 
  42.         INT     21H 
  43.         RET 
  44.  
  45. L0143:  CMP     AX,5 
  46.         JNZ     L0150 
  47.         MOV     DX,OFFSET L01E4 
  48.         JMP     MSEXIT 
  49. L0150:  CMP     AX,11H 
  50.         JNZ     L015D 
  51.         JMP     MSEXIT 
  52. L015D:  MOV     DX,OFFSET L0175 
  53.         JMP     MSEXIT 
  54. L0165:  MOV     DX,OFFSET L0193 
  55.         JMP     MSEXIT 
  56. L016D:  MOV     DX,OFFSET L01AF 
  57. MSEXIT: 
  58.         MOV     AH,9 
  59.         INT     21H 
  60.         RET 
  61. MOVER   ENDP 
  62. L0175   DB      'Unknown error in MOVE command$' 
  63. L0193   DB      'Invalid or missing operands$' 
  64. L01AF   DB      'Invalid or missing new name$' 
  65. L01CB   DB      'Specified path not found$' 
  66. L01E4   DB      'Access denied$' 
  67. L01F2   DB      'To/from not the same device$' 
  68.         DB      72H DUP(0) 
  69.         FMOVE   ENDS
  70. ;
  71.         END     MOVER
  72.